#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <vector>


std::vector<int> matrix[10009];

/**
 * 
 * 时间复杂度：
 * 输入：O(m)
 * 输出：外层O(n), 里层O(ki), ki是每行的元素个数
 * 
 * 总体：O(m+n)
 * 
 * 空间复杂度：
 * O(m)
 * 
 * 锯齿矩阵
 * @return
 */
int main() {

    int n, m;
    scanf("%d%d", &n, &m);

    for (int i = 0; i < m; i++) {
        int x, y;
        scanf("%d%d", &x, &y);
        matrix[x].push_back(y);
    }


    for (int i = 1; i <= n; i++) {
        for (int j = 0; j < matrix[i].size(); j++) {
            printf("%d ", matrix[i][j]);
        }
        putchar('\n');
    }

    return 0;
} 